package robren.domain;

import java.util.List;
import robren.data.*;

public class EmpresaManager {

	private IEmpleoStoreDAO emDao = new JDBCEmpleoStoreDAO();
	private IUserDAO usDao = new JDBCUserDAO();
	private IPersonaJuridicaDAO pjDao = new JDBCPersonaJuridicaDAO();
	private ISolicitanteDAO sDao = new JDBCSolicitanteDAO();

	public List<Empleo> mostrarEmpleos(String oidEmpresa) {
		return emDao.selectAllEmpleosEmpresa(oidEmpresa);
	}

	public List<Usuario> encontrarEmpleados(String idEmpresa, String idEmpleo) {
		String oid = emDao.selectOidEmpleo(idEmpleo, idEmpresa);
		List<Aptitud> lista_aptitud = emDao.selectAptitudesEmpleo(oid);

		List<Usuario> lista_usuario = usDao
				.selectUsuariosCompetentes(lista_aptitud);
		return lista_usuario;
	}

	public Integer calcularPuntos(String id) {
		Empresa emp = pjDao.selectEmpresa(id);
		if (emp.getEdad() < 2) {
			emp.setPuntos(emp.getPuntos() + 20);
		}
		if (emp.getNum_empleados() < 20)
			emp.setPuntos(emp.getPuntos() + 25);
		if (emp.getSector().equals("Renovables"))
			emp.setPuntos(emp.getPuntos() + 30);
		return emp.getPuntos();
	}

	public List<Curso> registrar(Empresa emp,String oid) {
		Solicitante sol = new Solicitante(emp.getId_Solicitante(), emp
				.getNombre(), emp.getDireccion(), emp.getNick(), emp
				.getPassword(), emp.getEmail(), emp.getTelefono(), emp
				.getSector());
		sDao.insertSolicitante(sol,oid);
		pjDao.insertEmpresa(emp,oid);
		Integer puntos = calcularPuntos(emp.getId_Solicitante());
		sDao.updatePuntos(emp.getId_Solicitante(), puntos);
		SolicitanteManager sm = new SolicitanteManager();
		return sm.recomendarCursos(emp.getId_Solicitante());

	}

	public Empleo seleccionarEmpleo(String empleo, String oidempresa) {
		return emDao.selectEmpleo(oidempresa, empleo);
	}
	public String obtenerOIDEmpresa(String id){
		return sDao.selectOidSolicitante(id);
	}

}
